#include <stdlib.h>
#include "ColaAlumno.h"

ColaAlumno* crear_ColaAlumno(){
    ColaAlumno* cola = malloc(sizeof(ColaAlumno));
    cola->cant=0;
    cola->ini=NULL;
    cola->fin=NULL;
    return cola;
}

void encolar_ColaAlumno(ColaAlumno* cola, Alumno* alumno){
    NodoColaAlumno* nuevo= malloc(sizeof(NodoColaAlumno));
    nuevo->alumno=alumno;
    nuevo->sig=NULL;
    if (cola->cant == 0){
        cola->ini=nuevo;
        cola->fin=nuevo;
        cola->cant=1;
    }
    else{
        cola->fin->sig=nuevo;
        cola->fin=nuevo;
        (cola->cant)+=1;
    }
}

Alumno* desencolar_ColaAlumno(ColaAlumno* cola){
    if(cola->cant == 0) return NULL;
    else{
        Alumno* alumno=malloc(sizeof(Alumno));
        alumno=cola->ini->alumno;
        cola->ini=cola->ini->sig;
        (cola->cant)-=1;
        return alumno;
    }
}

void imprimir_ColaAlumno(ColaAlumno* C){
    NodoColaAlumno* i;
    printf("\n");
    for (i = C->ini; i != NULL; i = i->sig){
        imprimir_Alumno(i->alumno);
    }
    printf("\n");
}

int esta_ColaAlumno(ColaAlumno* cola,int codAlu){
    NodoColaAlumno *ptrRecorrido=cola->ini;
    while(ptrRecorrido != NULL){
        if(ptrRecorrido->alumno->codigo == codAlu) return 1;
        ptrRecorrido = ptrRecorrido->sig;
    }
    return 0;
}
